In current computation modes such as pervasive computation or network computation, for any and every computer, it is necessary to develop and install respective operating system, supporting tools and application software for the computer, otherwise the computer cannot perform respective application computations or run respective software systems. This results in continuously heightening requirement on the configuration of PC (for example, memory, hard disk, frequency and speed of CPU, and so on), and continuous complication and bulkiness of software operating system. For mobile devices (e.g., PDA, mobile phone and the like) and digital home appliances (e.g., ISDN telephone and the like) in which only mini-imbedded operating system can be installed, and small software can be run, however, there is a problem that they are very difficult to be interconnected and intercommunicated with a general computer network system, such as Internet. The one-to-one correspondence between hardware system and software system and the successive upgrades of the hardware system make the software system more and more complicated, and its use and maintenance costs ever higher. Meanwhile, continuously obsolete computer devices form further more rubbish and cause further environmental pollution.
As stated in a reference paper “Transparent Computation: Concept, Structure and Examples, Zhang Yao Xue, Electronics Journal, Vol 32, No. 12A, Dec., 2005”, a transparent computation is a computation mode in which a user needs not to recognize locations of a computer operating system, supporting tools and application programs, and can find relevant computation services from various devices by request (including various fixed, mobile devices and household appliances); and these services are computation modes stored on a server located on a distributed network.
Transparent computation mode comprises servers and clients (terminal apparatuses), hardware systems of which are similar to conventional servers/clients. They differ from conventional servers/clients in that in the transparent computation mode, the clients may be various different terminal apparatuses, for example, desktop PC, network computer NC, PDA, etc. This mode is characterized in that: (I) no operating system, supporting tool or application program is pre-installed on the clients, and if necessary, required system software, tools and application programs may be downloaded automatically from a server to be executed in client environments; (II) a user may optionally select, on the client, any operating system and tools and application programs that can be run on the client hardware without making any substantial modification on the application programs, thus the operability and compatibility of the application programs can be guaranteed; (III) virtual exchange and scheduling are performed via the network, thus the resources sharing and execution performance can be improved; and (IV) all of the application computations are done on the client side, not on the server side.
The Network Interconnection Laboratory of Tsing Hua University has proposed a transparent computation based computation system (referring to the relevant China patent application No. 200510063064.7), in which terminal apparatuses have local computational capability, have the same function and performance as ordinary PC, can resolve the problem of heavy dependency of computation on the server in conventional network computer systems, and have dedicated network protocol as well as virus-proof and self-recovering mechanisms of a file system; in addition, a user may optionally select to run Windows, Linux or other operating systems on the terminal apparatus. The existing transparent computation based systems are mainly adapted for the application computation in local area network environment, now they are widely used in electronic office works, multimedia classroom and other application fields, and obtain good effects.
In a transparent computation mode based system, through a virtual disk mechanism, a user may use a terminal apparatus having no hard disk as if it is a common PC, and each of terminal apparatuses has its respective private virtual disks 12A and 12B. The virtual disks function similarly to that of the local disk of PC, and may be arbitrarily read and written by the user of respective terminal apparatus. The virtual disks of terminal apparatus do not physically exist, but correspond, respectively, to disk image areas 18A, 18B in the disk system of the server; therefore, in fact, the user data are all stored in the disk of the server. In fact, as shown in FIG. 3, what is seen locally by the user of terminal apparatus is a view 30 of virtual disks 31A and 31B constituted by a system partition (C:) and a data partition (E:), these two partitions can be read and written arbitrarily by the user, thus the operations and results of operations performed on the terminal apparatus by the user can be stored after shutdown. The disk images 18A and 18B of the storage space 32 of the server corresponds to the virtual disks of the terminal apparatuses, and substantially consist of three types of partitions on the server, that is, a shared partition 33 shared by all the terminal apparatuses sharing the same operating system image, hiding partitions 34A, 34B and private partitions 35A and 35B dedicated to respective terminal apparatuses. In these partitions, the shared partition and one hiding partition altogether correspond to the system partition on a terminal apparatus; the hiding partition can be arbitrarily read and written by the terminal apparatus, and records the modification on the system partition made by the user of the terminal apparatus; but the shared partition can be only read by the terminal apparatuses. For example, a user performs adding, deleting or modifying operations on the system partition; these operations are recorded in the corresponding hiding partition, and the results of operations are stored in the hiding partition as well. For example, if a file is modified or added, the new file is also stored in the hiding partition. The combination of the contents of the hiding partition and the shared partition forms the system partition of the terminal apparatus, but the contents of the former are of higher priority when the system partition is read by the terminal apparatus, thus it is guaranteed that the system partition seen by the user on the terminal apparatus is always in its most recently updated state. The data partition is a partition on the terminal apparatus mainly for storing user data, which is usually larger than the hiding partition. The data partitions are in one-to-one correspondence with the private partitions on the server, that is, one private partition on the server is the data partition of one terminal apparatus, which can be arbitrarily read and written. The above-mentioned specific read and write procedure performed by the terminal apparatus on the server's disk image belong to an internal mechanism of transparent computation, and are transparent to users, what is seen by them is only a local readable and writable hard disk comprising a system partition and a data partition, therefore, the above mentioned mechanism is referred to as transparent read-write mechanism operating under the file system.
According to different implementations, the server may interact with terminal apparatuses in data sharing units of files, sectors or self-defining blocks. The server may directly operate the data sharing units in the disk image. For example, in an implementation that is based on a file as a data sharing unit, the files in the disk image are visible to the server, therefore, may by directly operated by the server. As a usual logical organization scheme of data in computer systems, files are usually taken as units for transferring data between different computers connected via a network in practical applications. In existing implementations of transparent computation that are based on a file as a data sharing unit, this is practically implemented as copying files, which are taken as units, between the system partitions (embodied as hiding partitions on the server) and/or data partitions (embodied as private partitions on the server) of different terminal apparatuses on the server, while in the existing implementations of transparent computation based on sectors as data sharing units, this is practically implemented as copying sectors belonging to the same file between the system partitions (embodied as hiding partition on the server) and/or data partitions (embodied as private partitions on the server) of different terminal apparatuses on the server. For the former, if it is required to transfer files between different terminal apparatuses, the terminal apparatuses performing local computations use conventional file transferring and sharing methods, such as FTP, TFTP, NF3 and etc., so as to establish connection between the terminal apparatuses of the origination party and the processing party of the file transfer (read/write) request, to perform file transfer, and to read and write specific file in the memory space of the server by the transparent read-write mechanism, FIG. 1 shows a prior art of transparent computation system based on files as data sharing units, in which a server 19 and a plurality of terminal apparatuses 11A and 11B are located on a local area network. Since all computations occur locally, if at some time, the user on terminal apparatus 11A requests to transfer a file on a local hard disk to a local hard disk of terminal apparatus 11B, for the user, firstly, the terminal apparatus 11A establishes a connection with the terminal apparatus 11B by existing file transfer methods such as FTP and etc, then reads the original file 13 from the virtual disk 12A and transfers it to the virtual disk 12B. In fact, in this implementation, the data of the original file 13 are read from the disk image A corresponding to the virtual disk 12A on the server and transferred to the terminal apparatus 11A (path 14); then the data are transferred to the terminal apparatus 11B from the terminal apparatus 11A via FTP (path 15); finally, the data are transferred to the disk image 18B corresponding to the virtual disk 12B on the server by the terminal apparatus 11B via the local transparent read-write mechanism (path 16), then a copy 13A of the original file is finally generated in the hiding partition (when involving modification of the file in the shared partition) and/or the private partition, thus a single transfer of the file data is completed. Therefore, the transferring of file data actually comprises a transferring procedure of from the server to terminal apparatus 11A, from terminal apparatus 11A to terminal apparatus 11B, and then from the terminal apparatus 11B to the server. It can be seen from the above procedure that in order to perform a single transfer of file data between the terminal apparatuses, the server and both terminal apparatuses sending and receiving file data shall allocate corresponding resources of buffers, processors and I/O devices, and at the same time, corresponding bandwidth resources shall be occupied, especially it is necessary for the server to maintain two transfer paths 14 and 16.
For such implementations, if, in a short time, relatively large number of terminal apparatuses mutually transfer files therebetween, and large number and large size files are transferred, various resources of the server, each of terminal apparatuses, and the network shall be occupied, and operating speeds of the terminal apparatuses and the performance of the whole system will be remarkably reduced. Since both the origin and destination of data transfer are substantially located on the server, therefore the above mentioned problem can be solved by improving the data transfer method and reducing the data transfer path to reduce the occupation of related resources.